// pages/search/search.js
import {
    request
} from '../../request/index.js'
Page({

    // 自定义的全局数据
    timeId: -1,

    /**
     * 页面的初始数据
     */
    data: {
        resultList: [],
        inputValue: ''
    },
    handleInput(e) {


        /**
         * 防抖 定时器 节流
         * 防抖 一般是输入框中 防止短时间内重复输入，重复发送请求
         * 节流 一般是用在页面下拉和上拉
         * 
         * 防抖方法
         * 1 定义一个全局的定时器id，
         * 2 先清除这个定时器
         * 3 重新生成一个定时器
         */
        clearTimeout(this.timeId)

        const value = e.detail.value

        if (!value.trim()) {
            // 值为空不合法，return
            return
        }

        this.timeId = setTimeout(() => {
            this.toSearch(value)
        }, 1000);



    },
    async toSearch(query) {
        const { data } = await request({
            url: '/goods/qsearch',
            data: {
                query
            }
        })

        this.setData({
            resultList: data.message
        })

    },
    /**
     * 取消按钮
     * 清空input，
     * 清空结果数组
     */
    handleCancel() {
        this.setData({
            resultList: [],
            inputValue: ''
        })

    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function(options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function() {

    }
})